package clases;
import java.io.*;
import java.sql.Date;
import enums.estadoCivil;
/**
 *clase gestionadora de Empleados
 */
public class Empleado implements Serializable{

	private String dni;
	private String nombre;
	private String PrimerApellido;
	private String SegundoApellido;
	private String NSS;
	private String direccion;
	private String codPostal;
	private estadoCivil estadoCivil;
	private int numHijos;
	private String fechaNacimiento; 
	private String fechaAltaEmpresa; 
	private String fechaUltimaRevision; 
	private String[] numerosTelefono = new String[3]; 
	private String observaciones; 
	private String cargo;
	private String puestoDeTrabajo;
	private String numeroDeCuenta; 
	private String fechaBaja;
	

	/**
	 * @param dni clave primaria de la base de datos
	 * @param nombre 
	 * @param PrimerApellido
	 * @param SegundoApellido
	 * @param NSS numero de la seguridad social
	 * @param direccion
	 * @param codPostal
	 * @param estadoCivil  soltero,casado,viudo..
	 * @param numHijos
	 * @param fechaNacimiento
	 * @param fechaAltaEmpresa la fecha de alta del empleado
	 * @param fechaUltimaRevision fecha de la ultima revision medica del empleado
	 * @param numerosTelefono
	 * @param observaciones
	 * @param cargo
	 * @param puestoDeTrabajo
	 * @param numeroDeCuenta
	 * fechaBaja fecha en la que fue despedido el empleado, si se diese el caso.
	 */
	public Empleado(String dni,String nombre,String PrimerApellido,String SegundoApellido,String NSS, String direccion,String codPostal, 
			estadoCivil estadoCivil,int numHijos,String fechaNacimiento,String fechaAltaEmpresa,String fechaUltimaRevision,
			String numerosTelefono[],String observaciones,String cargo,String puestoDeTrabajo,String numeroDeCuenta){
		
		this.dni = dni;
		this.nombre = nombre;
		this.PrimerApellido = PrimerApellido;
		this.SegundoApellido = SegundoApellido;
		this.NSS = NSS;
		this.direccion = direccion;
		this.codPostal = codPostal;
		this.estadoCivil = estadoCivil;
		this.numHijos = numHijos;
		this.fechaNacimiento = fechaNacimiento; 
		this.fechaAltaEmpresa = fechaAltaEmpresa; 
		this.fechaUltimaRevision = fechaUltimaRevision; 
		this.numerosTelefono = numerosTelefono; 
		this.observaciones = observaciones; 
		this.cargo=  cargo;
		this.puestoDeTrabajo = puestoDeTrabajo;
		this.numeroDeCuenta = numeroDeCuenta;
		
	}
	
	public Empleado(String dni,String nombre,String PrimerApellido,String SegundoApellido,String NSS, String direccion,String codPostal, 
			String e,int numHijos,String fechaNacimiento,String fechaAltaEmpresa,String fechaUltimaRevision,
			String numerosTelefono[],String observaciones,String cargo,String puestoDeTrabajo,String numeroDeCuenta){
		
		this.dni = dni;
		this.nombre = nombre;
		this.PrimerApellido = PrimerApellido;
		this.SegundoApellido = SegundoApellido;
		this.NSS = NSS;
		this.direccion = direccion;
		this.codPostal = codPostal;
		if(e.equals("CASADO")){
			this.estadoCivil = estadoCivil.Casado;
		}
		else if(e.equals("SOLTERO")){
			this.estadoCivil = estadoCivil.Soltero;
		}
		else{
			this.estadoCivil = estadoCivil.Viudo;
		}
		this.numHijos = numHijos;
		this.fechaNacimiento = fechaNacimiento; 
		this.fechaAltaEmpresa = fechaAltaEmpresa; 
		this.fechaUltimaRevision = fechaUltimaRevision; 
		this.numerosTelefono = numerosTelefono; 
		this.observaciones = observaciones; 
		this.cargo=  cargo;
		this.puestoDeTrabajo = puestoDeTrabajo;
		this.numeroDeCuenta = numeroDeCuenta;
		
	}
	


	public Empleado() {
		// TODO Auto-generated constructor stub
	}


	/**
	 * @return observaciones
	 */
	public String getObservaciones() {
		return observaciones;
	}

	/**
	 * @param observaciones
	 */
	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	/**
	 * @return cargo
	 */
	public String getCargo() {
		return cargo;
	}

	/**
	 * @param cargo
	 */
	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	/**
	 * @return puesto de trabajo
	 */
	public String getPuestoDeTrabajo() {
		return puestoDeTrabajo;
	}

	/**
	 * @param puestoDeTrabajo
	 */
	public void setPuestoDeTrabajo(String puestoDeTrabajo) {
		this.puestoDeTrabajo = puestoDeTrabajo;
	}

	/**
	 * @return numero de cuenta
	 */
	public String getNumeroDeCuenta() {
		return numeroDeCuenta;
	}

	/**
	 * @param numeroDeCuenta
	 */
	public void setNumeroDeCuenta(String numeroDeCuenta) {
		this.numeroDeCuenta = numeroDeCuenta;
	}

	/**
	 * @return dni
	 */
	public String getDni() {
		return dni;
	}

	/**
	 * @param dni
	 */
	public void setDni(String dni) {
		this.dni = dni;
	}

	/**
	 * @return nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * @param nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * @return primer apellido
	 */
	public String getPrimerApellido() {
		return PrimerApellido;
	}

	/**
	 * @param primerApellido
	 */
	public void setPrimerApellido(String primerApellido) {
		PrimerApellido = primerApellido;
	}

	/**
	 * @return segundo apellido
	 */
	public String getSegundoApellido() {
		return SegundoApellido;
	}

	/**
	 * @param segundoApellido
	 */
	public void setSegundoApellido(String segundoApellido) {
		SegundoApellido = segundoApellido;
	}

	/**
	 * @return numero de la seguridad social
	 */
	public String getNSS() {
		return NSS;
	}

	/**
	 * @param nSS
	 */
	public void setNSS(String nSS) {
		NSS = nSS;
	}

	/**
	 * @return direccion
	 */
	public String getDireccion() {
		return direccion;
	}

	/**
	 * @param direccion
	 */
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	/**
	 * @return codigo postal
	 */
	public String getCodPostal() {
		return codPostal;
	}

	/**
	 * @param codPostal
	 */
	public void setCodPostal(String codPostal) {
		this.codPostal = codPostal;
	}

	/**
	 * @return estado civil
	 */
	public estadoCivil getEstadoCivil() {
		return estadoCivil;
	}

	
	public void setEstadoCivil(String e) {
		if(e.equals("CASADO")){
			this.estadoCivil = estadoCivil.Casado;
		}
		else if(e.equals("SOLTERO")){
			this.estadoCivil = estadoCivil.Soltero;
		}
		else{
			this.estadoCivil = estadoCivil.Viudo;
		}
	}
	

	/**
	 * @return numero hijos
	 */
	public int getNumHijos() {
		return numHijos;
	}

	/**
	 * @param numHijos
	 */
	public void setNumHijos(int numHijos) {
		this.numHijos = numHijos;
	}

	/**
	 * @return fecha de nacimiento
	 */
	public String getFechaNacimiento() {
		return fechaNacimiento;
	}

	/**
	 * @param fechaNacimiento
	 */
	public void setFechaNacimiento(String fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	/**
	 * @return fecha alta empresa
	 */
	public String getFechaAltaEmpresa() {
		return fechaAltaEmpresa;
	}

	/**
	 * @param fechaAltaEmpresa
	 */
	public void setFechaAltaEmpresa(String fechaAltaEmpresa) {
		this.fechaAltaEmpresa = fechaAltaEmpresa;
	}

	/**
	 * @return fecha ultima revision
	 */
	public String getFechaUltimaRevision() {
		return fechaUltimaRevision;
	}

	/**
	 * @param fechaUltimaRevision
	 */
	public void setFechaUltimaRevision(String fechaUltimaRevision) {
		this.fechaUltimaRevision = fechaUltimaRevision;
	}

	/**
	 * @return numero telefono
	 */
	public String[] getNumerosTelefono() {
		return numerosTelefono;
	}

	/**
	 * @param numerosTelefono
	 */
	public void setNumerosTelefono(String[] numerosTelefono) {
		this.numerosTelefono = numerosTelefono;
	}

	/**
	 * @return fecha baja
	 */
	public String getFechaBaja() {
		return fechaBaja;
	}

	/**
	 * @param fechaBaja
	 */
	public void setFechaBaja(String fechaBaja) {
		this.fechaBaja = fechaBaja;
	}


	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
	}




	

}
